Spazio Lightwave....
Anche questo mese torniamo a parlare del 3D "secondo" Lightwave, con una puntata densa di contenuti. Oltre al corso ed al tutorial, troverete la recensione di alcuni prodotti dedicati al nostro programma preferito.
Ben tornati all'appuntamento con Lightwave. Gli argomenti che tratteremo questo mese sono vari, ma più che altro sono tanti. In primo luogo concluderemo il discorso sui poligoni, parlando tra le altre cose di uno dei tool più interessanti del Modeler, ovvero il Metaform. Per quanto riguarda il Layout, si concluderà anche qui un argomento lasciato in sospeso, ovvero il texture mapping: verrà esaurito il discorso sugli usi delle texture per la definizione di parametri che non siano il solo colore di superficie; verrà inoltre illustrato il funzionamento del displacement mapping di Lightwave. Il tutorial, verterà sulla creazione del "solito" logo volante (flying logo). In realtà l'oggetto delle nostre fatiche sarà un altro: rimandiamo al tutorial stesso per tutti gli approfondimenti. Ma non perdiamo altro prezioso tempo e buttiamoci nella mischia: buon proseguimento.
Il mese scorso, per ovvi motivi di spazio abbiamo interrotto la trattazione dell'argomento poligoni a metà: abbiamo infatti tralasciato l'insieme di funzioni raccolte sotto il nome Transform. Sotto questa voce sono raggruppati alcuni tool volti alla modifica su larga scala dei poligoni: questo significa che il loro utilizzo è rivolto non più ai singoli poligoni, ma ad intere mesh, quali ad esempio la scocca di una autovettura, la chiglia di una nave e via dicendo. La prima funzione che incontriamo è Surface. Il suo utilizzo, almeno fino alla versione 4.0 del programma è elementare: si selezionano i poligoni ai quali deve essere assegnata o modificata la superficie, si invoca la funzione ed il gioco è fatto. Comparirà un semplice requester nel quale potremo definire il nome della superficie da attribire ai poligoni selezionati. Vi ricordiamo che nel Modeler (3.5 e 4.0) non sarà possibile definire altro: attributi quali colore, specularità, trasparenza ecc., sono definibili esclusivamente nel Layout. A partire dalla versione 5.0 di Lightwave, cio non sarà più vero: molti di questi attributi saranno modificabili direttamente nel Modeler proprio con la funzione Surface. Una nota: assegnare con tempestività una superficie ad un gruppo di poligoni può essere vitale nel momento in cui andremo a riselezionarli. Quando gli oggetti diventano complessi diventa sempre più difficile selezionare univocamente i poligoni a mano: è d'altro canto banale invece selezionarli usando come parametro di ricerca (tasto W) il nome della superfice ad esse assegnata. La successiva funzione è Triple. Il suo uso è legato all'esigenza di operare sempre con poligoni planari. Un poligono composto da quattro o più vertici è soggetto, se deformato impropriamente, ad errori in fase di rendering. Non è accettato dal programma che parte di un poligono abbia una certa inclinazione, e parte un'altra. Per ovviare a questo genere di inconvenienti si utilizza la funzione Triple, che altro non fa che suddividere un poligono in triangoli. Il triangolo, per definizione, non può che avere un'unica inclinazione (é la superficie 2D di base!). La funzione Triple risulta vitale per poter deformare liberamente un oggetto, ad esempio con le Bones e con le Displacement Map, senza incorrere in errori di visualizzazione. E' inoltre necessaria per poter invocare la funzione Subdiv quando si ha a che fare con poligoni con più di quattro lati. La funzione Subdiv permette di suddividere una superficie composta da poligoni con 3 o 4 lati in maniera da creare una mesh con densità maggiore. Sono quattro le opzioni fondamentali di questo tool: faceted, smooth, metaform e fractal. L'opzione faceted farà si che la suddivisione avvenga in maniera che i nuovi poligoni rispettino la geometria originale dell'oggetto: si tratta esclusivamente di un aumento di densità della mesh di partenza. L'opzione smooth, invece, produrrà un effetto di smussatura, utile per migliorare la resa di oggetti arrotondati. In questo senso il suo utilizzo è limitato, visto che il processo di arrotondamento contempla la modifica, quando necessario, dell'intera geometria dell'oggetto. Per intendersi, se si provasse a smussare un cubo, questi sarebbe soggetto ad un aumento delle sue dimensioni, dovuto al tentativo di rendere quanto più arrotondato il suo profilo. Per estendere profiquamente il processo di smussatura anche ad oggetti squadrati o comunque ibridi, occorre usare l'opzione metaform. Tale opzione agirà sulla mesh con una smussatura selettiva, volta ad arrotondare gli angoli più evidenti, lasciando invece illese le parti della mesh dove non occorre smussare. Il suo utilizzo è pressoché illimitato, dato che permette di aggiungere particolari ad oggetti in veramente poco tempo, e con risultati strabilianti. L'opzione fractal, se selezionata, permette di perturbare la superficie appena creata, variando di una distanza random il posizionamento dei punti della mesh, nel rispetto dell'orientamento dei poligoni. E' di sicuro aiuto quando, a partire da un semplice poligono con quattro lati, si voglia creare ad esempio un terreno impervio, una superficie liquida, e via dicendo. Per le opzioni smooth e metaform è prevista le regolazione di un ulteriore parametro, max smoothing angle, che permette di imporre una tolleranza limite sugli angoli formati dai poligoni contigui, oltre al quale il processo di smussatura o di metaforming non verrà eseguito. Un ultima nota sul tool subdiv: il suo utilizzo è strettamente legato a tool di deformazione animata, quali bones e displacement map (come per l'opzione triple). Il tool align permettere di far fronte al frequente inconveniente dell'errato orientamento dei poligoni a faccia singola: selezionando la mesh ed invocando align il programma cercherà di orientare in maniera omogenea tutti i poligoni ovviando a noiosi problemi di visualizzazione. Per una migliore efficacia occorre assicurarsi che non ci siano vertici sovrapposti (funzione tools/point/merge), e che i poligoni siano tutti a faccia singola (tool unify). Il tool unify consente di fondere un poligono ad doppia faccia, facendolo diventare a faccia singola: una volta invocato questo comando potrebbe essere necessario modificare la direzione di uscita della normale del poligono modificato, con i comandi align o flip. Proprio quest'ultimo risulta essere uno dei comandi più usati: il suo funzionamento è semplice quanto il suo nome. Invocandolo, dopo aver selezionato uno o più poligoni, altro non farà che invertire l'orientamento della normale, risolvendo, se correttamente utilizzato, tutti i problemi di visibilità.
Riprendiamo e concludiamo il discorso sul mapping, trattando gli usi non "ordodossi" ai quali si può prestare una texture, se vista come matrice di punti contenente non semplici informazioni cromatiche, ma vere e proprie scale di valori numerici. Occorre innanzi tutto richiamare il pannello Surface ed esaminarne il contenuto: come già anticipato, ogni volta che in un pannello del Layout troviamo un tasto riportante la lettera T, sappiamo già a priori che il parametro corrispondente potrà essere regolato tramite l'utilizzo di una texture. E' facile immaginare l'utilizzo di una texture per la definizione del colore di una superficie, è meno facile immaginarne l'utilizzo per la definizione della specularità o della rugosità. Per semplificarvi la vita possiamo tranquillamente dettare una regola generale: una texture è,prima di ogni altra cosa, una immensa tabella contenente numeri. A tali numeri è possibilie attribuire un significato cromatico, ottenendo così una classica immagine, oppure un significato diverso, quale ad esempio l'intensità luminosa, la trasparenza o l'altitudine, e via dicendo. Si otterranno così mappe di trasparenza, di luminosità o di altitudine (bump map). Il punto è che Lightwave è in grado di gestire tutte o quasi le tipologie di mapping fino ad ora sviluppate nel campo della computergrafica: tutto sta a vedere se anche noi siamo in grado di farlo... Diamo per scontata la color map e passiamo subito alla luminosity map. Il parametro luminosity permette di definire se e di quanto una superficie è dotata di luminosità propria. Definendo la luminosità tramite una texture è possibile rendere luminose selettivamente solo alcune parti dell'oggetto; è inoltre possibile utilizzare texture animate per simulare movimento, e quindi effetti come fuoco ed incandescenze varie. La mappa di luminosità, nel caso in cui sia un'immagine e non una texture parametrica, deve essere in toni di grigio: le zone scure indicheranno l'assenza di luminosità, mentre le zone chiare ne indicheranno la presenza. Le immagini a colori verranno considerate esclusivamente sotto il punto di vista dell'intensità cromatica (giallo acceso = chiaro; blue notte = scuro). Per creare effetti animati occorrerà, per le texture parametriche, agire opportunamente sul parametro Texture velocity; se si vogliono utilizzare immagini digitalizzate, invece, sarà necessario disporre di una sequenza "ad hoc". Quanto detto fino ad ora per la mappa di luminosità è tranquallamente riportabile anche per le restanti mappature, ovvero diffuse, specular, reflectivity, transparency e bump. Ci preme sottolineare come l'impiego di texture per la definizione dei parametri diffuse e specular, sia utilissimo, se non necessario, per dotare di realismo una superficie. Con diffuse è possibile "sporcare" un oggetto, invecchiandolo in maniera alquanto realistica; specular risulta indispensabile se si vogliono simulare micro-ammaccature o effetti simili, senza dover fare i conti con l'irruenza del bump map (che deforma, anche se solo "otticamente", la superficie dell'oggetto). Usate se potete immagini simili per queste due mappature, facendo in modo che la texture per diffuse sia un po' meno luminosa: otterrete effetti spettacolari con pochissimo lavoro. Entrando nel pannello Objects, possiamo trovare la T di texture in corrispondenza della funzione displacement map. L'utlizzo della texture in questo caso è leggermente diverso, quantomeno in termini di effetti sull'oggetto in via di realizzazione. Mentre le mappature viste fino ad ora agivano sulle caratteristiche di superficie dell'oggetto, il displacement agisce sulla sua struttura geometrica, modificando la localizzazione spaziale di punti e poligoni. Il displacement mapping viene spesso utilizzato in animazione, quando si vogliono simulare ad esempio bandiere, increspature dell'acqua o del terreno, ma anche movimenti di oggetti o animali (un battito di ali o lo scodinzolo di un pesce). Tutto sta nel capire su quale asse far eseguire la deformazione, e che tipo di immagine o texture parametrica utilizzare. Vi raccomandiamo l'uso del displacement mapping, esclusivamente quando sia necessario modificare la struttura dell'oggetto: un mare incresapato è simulabile anche con un buon bump mapping applicato ad un poligono con soli 4 lati (con il displacement servirebbero almeno 200 poligoni quadrangolari). Finiamo l'argomento mapping con l'ultimo tasto T presente nel Layout: qualche centimetro più in basso rispetto alla T del displacement, potrete trovare la T relativa al clip mapping. Con la Clip Map potrete tagliare poligoni o porzioni di essi in maniera tale che solo parti di essi riamangano visibili. La Clip Map opera a livello ottico, ovvero nessun poligono verrà fisicamente cancellato, ma semplicemente reso invisibile all'occhio della camera. Per rendere più chiaro il concetto, immaginate di avere un rettangolo (poligono a 4 lati), sul quale proiettate una clip map raffigurante qualsiasi cosa, ad esempio un volto. Il background della vostra immagine dovrà essere nero: ma per la regola che il nero è indice di assenza del fenomeno, tutta l'area circondante il volto diventerà invisibile. Purtroppo sussiste un problema: un oggetto clip mapped non può ingannare una lampada in grado di produrre le cosiddette shadow map (ombre soffici). L'ombra del nostro volto verrebbe sostituita dall'ombra squadrata del rettangolo di partenza. Per ovviare a questo inconveniente, occorrerà creare una mappa di trasparenza complementare alla clip map (cioè dove il background sarà bianco (100% di intensità) ed il volto nero), richiamare il pannello Surface ed assegnarla al parametro transparency. Il gioco è così fatto, e anche la lampada è sistemata. Concludiamo qui lo spazio dedicato alla teoria: vi invitiamo a proseguire la lettura con il tutorial. Buon lavoro.
Copyright Enigma Amiga Run - Enigma Amiga Run it's a G.R.Edizioni publications - for contact us mailto yuri@skylink.it